Generation and delivery of multimedia content-adaptation notifications

ABSTRACT

A method for conditioning multimedia containers to be compatible with decoding facilities of receivers of diverse types is disclosed. Content of a multimedia container may include components of different encoding formats. Container conditioning also detects and, where feasible, removes undesirable insertions within each content component of a multimedia container. A content component of a container may be filtered, re-encoded, or deleted. Notifications indicating conditions of a container and any modifications performed are appended to the container. A notification may be presented in at least one form compatible with characteristics of a respective receiver. An editing engine implementing the method is associated with a network entity to which multimedia containers are directed. The editing engine accesses a receiver database storing information on several types of receivers and a repository of notification templates encoded in several forms.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of U.S. provisionalapplication Ser. No. 60/976,145 filed Sep. 28, 2007, the contents ofwhich are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to multimedia messaging services and, inparticular, to a method and system for notifying users of modificationsperformed during message-transcoding processes within a network.

BACKGROUND

Multimedia messaging provides an outstanding business opportunity formobile network operators. The higher access capacity available withthird generation (3G) wireless access have paved the way for richermessages that include various combinations of text, voice, still andanimated graphics, photos, video clips, and music. To capitalize on thismassive market potential, however, network operators must ensure qualityand reliability. Currently, operators are confronted with problems thatimpede interoperability across different networks and among the widevariety of multimedia formats and wireless devices. Multimedia messagesmay not be delivered successfully due to incompatible capabilities of anoriginating terminal and a destination terminal. The incompatibility mayrelate to message size, encoding methods, or file format. The problemoccurs in both peer-to-peer and application-to-peer messaging.

Multimedia content adaptation directly addresses these interoperabilityissues. Adaptation allows dynamic transcoding of multimedia elements,including multimedia messages. Dynamic transcoding of multimediaelements adapts them to match the characteristics of the receivingdevices so that users have universal access to multimedia content andtheir experience meets their expectations for quality. In an adaptationscheme, a requesting application sends requests to a transcoding device.Multimedia content adaptation ensures interoperability between deviceswithin a network and across networks that follow different standards.

Content elements in a multimedia message may be altered or even removedduring adaptation. It is desirable that a recipient, and perhaps asender, of a modified message be informed of the nature of modification.There is a need, therefore, for a system for generation and delivery ofappropriate notifications.

SUMMARY

In accordance with one aspect, the present invention provides a methodfor processing a message in a multimedia messaging system. The methodcomprises an initial step of examining the message to remove any presentmalicious software followed by steps of identifying an intended receiverof the message and resolving any incompatibility of the message withcharacteristics of the intended receiver.

The condition of the message is characterized, according to a result ofthe examining and a result of the resolving, by at least one key-valuepair and a condition type. A notification template corresponding to thecondition type is identified and retrieved from a repository ofnotification templates. A notification is subsequently composed, usingthe notification template and the at least one key-value pair, andappended to the message. Notifications of a common condition type may bemerged in a single notification. A notification may be sent to anoriginator of the message. The key-value pair and the condition typecharacterizing a message may be sent to a server associated with themultimedia messaging system which maintains notification records forstatistical service-analysis and service planning purposes.

The step of examining comprises detecting presence of malicious softwarein all content components of the message, including attachments. Thestep of resolving comprises steps of determining capabilities of theintended receiver and translating, where necessary, a content componentof the message from a current format to a different format compatiblewith the receiver's capabilities.

A key of a key-value pair may indicate a content-component name, a causeof content removal, a virus name, or a virus scanning engine. A value ina key-value pair may indicate a specific content-encoding method, anidentifier of a specific virus, an identifier of a specific engine usedto detect and remove a virus, or an indication of a message size andcorresponding size limit.

In accordance with another aspect, the present invention provides amethod of processing a data container comprising multiple contentcomponents. The method comprises steps of receiving the container at acontainer conditioner, parsing the container, and editing the contentcomponents. Parsing determines an identifier of a transmitter,identifiers of addressed receivers of the container, and properties ofeach content component. Each content component is initially examined todetect and delete harmful insertions, and mark the containeraccordingly. Compatibility of the content components with each of theaddressed receivers is then determined according to the properties ofeach content component and the characteristics of each of the addressedreceivers. Where the properties of a content component are incompatiblewith a receiver, the content component is adapted to suit the receiver.

A notification specific to each receiver is produced indicating aninitial condition of the container and any modification made, includingdeletion of harmful insertions and content adaptation to suitcharacteristics of a receiver. A notification to a receiver may indicatethat the container was free of harmful insertions and compatible withthe receiver. A notification is appended to the container to be sent toa respective receiver. A notification may also be sent to a transmitterof the container.

A notification may be formed as a plain text or as a combination ofseveral presentation forms which may include a text, an image, anencoded audio signal, and an encoded video signal.

The method further comprises steps of determining a permissible size ofthe container according to characteristics of each receiver. Where acurrent size of the container exceeds the permissible container size, atleast one content component may be considered for deletion, compression,or translation from one encoding form to another encoding form.

The method further comprises steps of determining a state of a path fromthe container conditioner to each receiver and determining a permissiblesize of the container according to both the path state andcharacteristics of each receiver.

In accordance with a further aspect, the present invention provides anediting engine for conditioning multimedia containers. The editingengine comprises a computing device having computer readableinstructions stored hereon, which when executed, cause the computingdevice to receive a container, parse the container into contentcomponents, and determine encoding formats of the content components.The editing engine examines each content component to detect presence ofmalicious insertions and perform corrections of the content componentswhere malicious insertions are found. The editing engine furtheridentifies a receiver of the container, acquires characterization ofdecoding facilities of the receiver, determines compatibility of thedecoding facilities to the encoding formats, and formulates appropriatecondition codes of the container according to the corrections and thecompatibility. A notification is synthesized according to theappropriate condition codes and appended to the container. Thenotification is synthesized by accessing a versatile dictionary storinga comprehensible description, which may be in multiple display formats,of each of a plurality of condition codes.

The computer readable instructions further cause the computing device todecide whether to accept an encoding format of a content component,translate the content component encoded from a current encoding formatto a new encoding format compatible with a corresponding decodingfacility from among the decoding facilities of the receiver, or deletethe content component.

The editing engine further comprises additional computer readableinstructions, which when executed cause, the computing device todetermine display formats provided by the versatile dictionary, selectat least one display format compatible with the decoding facilities ofthe receiver, and instruct a controller of the versatile dictionary toprovide descriptions of the appropriate condition codes in at least onedisplay format.

The editing engine acquires the characterization of decoding facilitiesby accessing a receiver database storing information on decodingfacilities of each receiver type from among a group of receiver types.

The computer readable instructions further cause the computing device toidentify additional receivers of the container, acquire characterizationof decoding facilities of each of the additional receivers, anddetermine conformity of the encoding formats of the content componentsto the decoding facilities of each additional receiver.Receiver-specific condition codes of the container are then formulatedaccording to corrections, if any, made to content components andconformity of each content component to decoding facilities of aspecific additional receiver. Receiver-specific notifications, specificto each of the additional receivers, are synthesized according torespective receiver-specific condition codes.

The computer readable instructions further cause the computing device todetermine a current size of the container, including a notification, anddetermine a size upper bound dictated by each receiver underconsideration. Where the current size exceeds the size upper bound, oneof the content components may be deleted according to a preset priorityorder. Where the current size does not exceed the size upper bound, thenotification is appended to the container. A notification may be sent toan originator of the container.

BRIEF DESCRIPTION OF THE DRAWINGS

In the figures which illustrate example embodiments of this invention:

FIG. 1 illustrates a container conditioner associated with a networknode for examining, and where necessary altering, multimedia containers,and generating notifications indicating a state of each container, inaccordance with an embodiment of the present invention;

FIG. 2 illustrates components associated with the container conditionerof FIG. 1;

FIG. 3 illustrates a generic form of a data container which may beencoded in a variety of ways;

FIG. 4 illustrates functions of a container conditioner in accordancewith one embodiment of the present invention;

FIG. 5 illustrates functions of a container conditioner in accordancewith another embodiment of the present invention;

FIG. 6 details a process of modifying a container in accordance with anembodiment of the present invention;

FIG. 7 illustrates an exemplary structure of a data container comprisinga header part and a content part;

FIG. 8 illustrates an original data container having four contentcomponents;

FIG. 9 illustrates a case where two content components of the originalcontainer of FIG. 8 are altered;

FIG. 10 illustrates a case where a content component of the originaldata container of FIG. 8 is deleted and another content component isshortened due to partial removal of data;

FIG. 11 illustrates a pipelined processing operation in accordance withan embodiment of the present invention;

FIG. 12 illustrates the operation an editing engine generatingnotifications, in accordance with an embodiment of the presentinvention;

FIG. 13 illustrates aggregation of notifications related to commonconditions, in accordance with an embodiment of the present invention;

FIG. 14 illustrates a process of formulating and aggregatingnotifications in accordance with an embodiment of the present invention;

FIG. 15 illustrates exemplary conditioning of a container directed totwo receivers, the conditioning involving virus removal and adaptationof content components to encoding facilities of the two receivers, inaccordance with an embodiment of the present invention;

FIG. 16 illustrates output containers resulting from the conditioningprocesses of FIG. 15;

FIG. 17 illustrates a network node supporting more than one containerconditioner associated with input ports of the node, in accordance withan embodiment of the present invention; and

FIG. 18 illustrates a network node supporting more than one containerconditioner accessed through the switching fabric of the node, inaccordance with an embodiment of the present invention.

DETAILED DESCRIPTION Terminology

-   Medium: The term “medium” refers to any hardware means for storage    and delivery of information. The term “multimedia” refers to a    medium communicating information of multiple content forms. The    content forms may include encoded text, audio signals, still images,    animation (rapid display of images), and video signals.-   Multi-Media Service (MMS): The term is used colloquially to refer to    multi-content communication services where information contents of    different forms such as text, audio signals, video signals, images,    presentations, etc., are exchanged among terminals through a    network. Encoded information transferred from one terminal to    another is typically arranged in a single data stream with    time-interleaved segments corresponding to the different information    contents.-   Container: A container is a computer file stored on a computer    readable medium and transmitted over a computer network. The    container is structured to contain various types of data. The    container may support multiple text, audio, and video streams with    synchronization information to enable coordinated play back of    various streams.-   Container component: A container includes sections, each comprising    data encoded in a specific form, such as a text, audio data, image    data, or video data. The term container component refers to data in    one section. A container component may be referenced as a    “component” for brevity. In a multimedia messaging system, a    component is also known as “media”.-   Container screening: “Container screening” refers to a process of    examining the content of a container, including all components, to    ensure absence of any undesirable insertions, especially harmful    insertions.-   Container adaptation: “Container adaptation” refers to a process of    modifying the form of a container component found to be incompatible    with the decoding capability of a respective receiver. If it is not    feasible to present a container component to suit a receiver, the    container component may be deleted. A container-adaptation process    is receiver specific while the process of container screening is    independent of the type of intended receiver.-   Container editing: The term “container editing” refers to the    combined processes of container screening and container adaptation.-   Container conditioning: The term may be used synonymously with    “container editing”. However, container conditioning also appends an    appropriate notification with a container, even when a container is    not modified.-   Compression: The term refers to data compression where data of a    container component may be re-coded to use fewer bits. Compression    may or may not affect the information content of a component.-   JPEG: JPEG a commonly used method of data compression for    photographic images developed by the Joint Photographic Experts    Group. The degree of compression can be adjusted, allowing a    selectable tradeoff between storage size and image quality.-   Advanced Audio Coding (AAC): AAC is a standardized encoding scheme    for digital audio signals.-   3GP: The acronym refers to a multimedia container format for use    with mobile phones.-   Transcoder: A transcoder is a device which performs direct    digital-to-digital translation of encoded information to enable an    information record of one format to be reproduced in a different    format suitable for a specific receiver.

Transcoding

In a telecommunications network connecting transmitters of differenttypes to receivers of different types, a transmitter devised to transmitsignals encoded in a certain form may connect to a receiver devised toreceive signals encoded in the same form through a passive path throughthe network. If the receiver is devised to receive signals encoded in aform different from the transmitted form, an intermediate device—atranscoder—provided somewhere along the path—would be needed to modifythe transmitted signal to be compatible with the receiver's capability.

In a network supporting terminals (transmitters and receivers)exchanging homogeneous data, such as plain-text data or encodedvoice-signals, the terminals are likely to be compatible. In a networksupporting versatile terminals exchanging data streams of heterogeneouscontent, where a single data container may include data representingplain alphabet characters, encoded audio signals, encoded video signals,static images, presentations, etc., problems of transmitter-receiverincompatibility are likely to arise. The process of communicating datarepresenting information of more than one type is often referenced asmultimedia communications or multimedia services (MMS), where the term“media” refers to an information type. Multimedia services are commonlybased on exchanging multi-content messages (data containers).

A significant amount of work has been devoted to enhancements ofmultimedia services. However the issue of notifying users of messagealterations performed during transcoding and necessitated by limitationsof receiving terminals or viral contamination, has been largelyoverlooked. The embodiment of this invention fills this gap by providinga generic warning system using notifications inserted in a presentationof an altered message to inform a recipient of the message that themessage has been altered in a way that affects the final presentation ofthe message. If, for example, a content element of a message is removed,then a “Synchronized Multimedia Integration Language” (SMIL) slide withtext notification of the removal is inserted into the message.

SMIL is a standard language devised by the World Wide Web Consortium forcreating multimedia presentations where audio, video, text and graphicsare combined and coordinated in real time. SMIL is used to definemarkups for timing, animations, and media embeddings associated with amultimedia presentation. SMIL enables displaying multiple file typessuch as text, video, and audio.

An MMS message is a container that has a SMIL presentation that mayreference media attachments as components of the MMS message (images,video, text, audio). The presentation is displayed as a slide show,which displays the content within the message. When the content isaltered, for example when a video recording that is too large isremoved, or when an image is removed because of a virus, a new textslide is generated, based on, e.g., a template corresponding to thespecific reason, and inserted into the slide show. The slide is builtfrom a language-selectable template which inserts information relevantto the notification content in the correct position.

The embodiment of the present invention provides a method forintelligently deciding when to insert the attachment notification basedon a set of states: adaptations, filtering, and removal. A notificationtemplate is acquired from a repository, which may be available locallyor at a remote location accessible through a network, based on languageand character set, and a text notification is created filling in detailsspecific to the notification. The notification may be inserted into themessage presentation or communicated separately.

Different types of actions, such as adapting, filtering, and removal maybe performed on attachments originally contained within a message.Content removal may be necessitated by: an error occurring whilemanipulating media message, e.g., successfully parsed content consideredinvalid; restricted message size; content-filtering; detecting a virus;or the whole content being a virus.

A removal notification may not be generated for each possible case inwhich content is removed from a message. For example, content thatcannot be parsed successfully from an original message and, hence, isnot extracted from the original message is ignored and no removalnotification need be included in the output message. Whenever content isremoved, a method according to an embodiment of the invention evaluateswhether or not to actually add a respective notification. So if it isappropriate to add a removal notification, then the message is markedappropriately.

Optionally, a number of removal events may be amalgamated in onenotification. Only one notification of each type would ever be created.For example, even if multiple attachments are removed, only one removalnotification may be added to the output message.

Upon creating the removal notification, the system evaluates all mediaattachments that have a “removed” state and that were marked asappropriate for creation of removal notification. If the removalnotification template contains variables, then the system replaces thevariables with appropriate values from the characteristics of thecontent being removed and appends the entry to the removal notificationbeing created. On the other hand, if the removal notification templatecontains generic text and no variables then only one entry is added inthe removal notification being assembled. When a removal notification iscreated, a notification is added as a new attachment to the outputmessage and to the presentation being built.

Network Considerations

FIG. 1 illustrates paths from a transmitter 120 to a number of receivers160, individually identified as 160(1), 160(2), 160(3), etc. Transmitter120 sends data containers (MMS messages) directed to selected receivers160 through a channel 121 to a node in a network segment 128, labeled“network 1”. A container conditioner 140 comprises a computing devicehaving a processor and a computer readable medium, e.g., a random accessmemory, having computer readable instructions stored thereon. Thecontainer conditioner 140 is associated with a network node 134 whichconnects to network segment 128 through a link 132. The containerconditioner 140 examines a data container received from transmitter 120and directed to a receiver 160 to determine compatibility with thereceiver's capability. The container conditioner 140 may also acquireinformation on a current condition of a designated path to a specificreceiver 160 through other network segments, such as network segment148, labeled “Network 2” and network segment 158, labeled “Network 3”.

The container conditioner 140 receives data containers from network node134 through a link 138 which may comprise several channels. Network node134 transmits examined data containers to receivers 160(1) and 160(2)through a link 142 to a first node (not illustrated) in network segment148. A data container directed to receiver 160(1) is switched to asecond node (not illustrated) within network segment 148 connecting toreceiver 160(1) through a channel 149(1). A data container directed toreceiver 160(2) is switched to a third node (not illustrated) withinnetwork segment 148 connecting to receiver 160(2) through a channel149(2). Likewise, network node 134 transmits examined data containers toreceiver 160(3) through a link 143 to a first node (not illustrated) innetwork segment 158 from which a data container is switched to a secondnode (not illustrated) within network segment 158 connecting to receiver160(3) through a channel 159. Link 142 may comprise multiple channelsand similarly link 143 may comprise multiple channels.

Any of channels 121, 149, or 159, or links 132, 142, and 143, may beconfigured within a wireless or wireline communication medium.

Container conditioner 140 may acquire receiver characterization data fora number of receivers and maintain the receiver-characterization data ina storage medium for recurrent use. The receiver-characterization datamay be acquired through registration where each added receivercommunicates its own characteristics to the container conditioner 140.Alternatively, the container conditioner 140 may query receivers towhich data containers are directed.

The container conditioner 140 receives a container and may alter thecontent of the container to remove malicious insertions, or any otherundesirable insertions, or to adapt the content to the capability of areceiver. If the container is found to be free of undesirable contentand compatible with a receiver, the container is forwarded in itsoriginal form, except—perhaps—for appending an indication that containerhas not been altered.

A container may comprise multiple content components which may be ofdifferent component types, such as text, audio data, image data, andvideo data. A component type may be encoded in one of several formats.For example, several protocols, standardized and proprietary, exist forencoding, compression, storage, and transmission of audio and videodigital signals. The container may be directed to more than one receiverof different receiver types and a component may be incompatible withsome receivers.

A component may include one of many types of malicious insertions whichmay be detected using a variety of specialized software tools.

FIG. 2 illustrates devices associated with the container conditioner140. Container conditioner 140 may be connected to a host node, such asnode 134 (FIG. 1), in different ways, as will be described withreference to FIG. 17 and FIG. 18. The output containers of containerconditioner 140 are switched through the host node to their respectivedestinations.

Container conditioner 140 is associated with a receiver database 220,which maintains characteristics of a number of receivers, and an editingengine 240 which modifies containers having harmful or undesirablecontent, or having content incompatible with a destined receiver.Editing engine 240 produces adaptation codes to identify changes made toa container; a “Null” adaptation code may be associated with anunchanged container. Container conditioner 140 may also access adictionary 230, which provides a comprehensible description of eachadaptation code, and a cache memory 250 which holds data acquired byquerying specific receivers and results of recent containers'examination.

Container conditioner 140 determines addressed receivers indicated ineach incoming data container and accesses receiver database 220 todetermine capabilities of the addressed receivers. The editing engine240 may query a destined receiver for which no characterizing data isstored in receiver database 220 and hold acquired characterizing data incache memory 250. The editing engine 240 implements a method fordetermining whether certain content parts of a container destined to aspecific receiver need be changed to suit the capabilities of thespecific receiver. Modifications of several types may be made to partsof a data container and each modification type is internally identifiedby an adaptation code. Dictionary 230 provides an intelligibledescription of each adaptation code for delivery to a receiver of anadapted container and to a transmitter of the adapted container. Theadaptation codes resulting from examining containers may be sent to aprocessing unit (not illustrated) for statistical analyses and forservice evaluation and planning purposes.

The editing engine 240 comprises a processor (not illustrated) and amemory device (not illustrated) having stored thereon acontainer-editing software for executing the method of the embodiment ofthe invention. The container-editing software may be acquired from asoftware medium which could be a disk, a tape, a chip or a random accessmemory containing a file downloaded from a local source or from a remotesource through a network.

The receiver database 220 comprises encoded characteristics of a set ofreceiver types stored on a computer readable medium of a computingdevice (not illustrated) loaded with information retrieval software.Receiver-characteristic information is needed for adaptingcontainer-content and generating relevant notifications. The informationretrieval software may be acquired from a software medium which could bea disk, a tape, a chip or a random access memory containing a filedownloaded from a local source or from a remote source through anetwork.

The versatile dictionary 230 comprises notification patterns encoded fordifferent forms of display, such as a text, an audio signal, an image,etc. stored on a computer readable medium of a computing device (notillustrated). The dictionary 230 may be acquired from a software mediumsuch as a disk, a tape, a chip or a random access memory containing afile downloaded from a local source or from a remote source through anetwork.

Any of well known data structures may be used to organize containers'data in a manner which facilitates containers' examination andadaptation. FIG. 3 illustrates a generic form of a data container 300which may be structured in a variety of ways. Container 300 comprises afirst part 320 containing a directory which defines the organization ofthe rest of the container, a second part 340 containingsource-destination information, and a third part 360 containing thecontent (i.e., the payload) of the container. In a composite container,the content part 360 may comprise several sections 361, 362, . . . ,which may store data encoded in different forms. For example, a sectionof the content part 360 may include data encoded as one of a plain text,an encrypted text, a high-fidelity voice message, a high-quality video,a static image, a paced display, etc.

FIG. 4 illustrates functions of a container conditioner 140 inaccordance with one embodiment of the present invention. A containerconditioner 140 receives a data container from a transmitter 120 (step410). The container conditioner then performs the series of functionsindicated in steps 420 to 480. In step 420, container directory 320 isparsed to determine pointers to addressed receivers encoded in thesource-destination part 340 of the container and the content componentsencoded in the content part 360 of the container. In step 430, the typeof each addressed receiver is determined according to the receiver'saddress from receiver addresses stored in associated receiver database220, from cache memory 250 holding data on recent transactions, or bydirectly querying a respective receiver.

The number of receivers served by a single container conditioner 140 maybe enormous, but the number of receiver types is likely to be quitesmall; less than a hundred for example. Thus, container conditioner 140preferably stores basic characterizing information on receiver types tobe used to determine relevant characteristics of an addressed receiver(step 432). Receivers of a given type may, however, be configureddifferently leading to different capabilities, in which case suchreceivers may be individually identified in receiver database 220.

A received data container may be a composite container carrying payloaddata (content) of several content types. An addressed receiver may notbe able to process contents of specific types. Step 434 determines whichcontent types, if any, are incompatible with capabilities of anaddressed receiver. If step 434 determines that the content in itsentirety is compatible with the addressed receiver, steps 440 to 480 areskipped; the data container is left intact and transmitted to asubsequent node towards destination. Otherwise, step 440 identifiescontent parts to be modified. The conditional transition from step 434to step 440 is not illustrated in FIG. 4 to avoid cluttering the figurewith obvious steps.

In step 450, the required content modifications are determined andreplacement parts of the content are produced. Step 450 implements ascreening-adaptation procedure for determining the form and extent ofeach modification. The procedure determines whether a specific part ofthe content need be deleted, corrected, or translated to another form.Step 450 is further detailed in FIG. 6.

In step 460, a new container is produced to replace the receivedcontainer. While the new container may include most of the informationcontained in the received container, even minor payload (content)changes may force changes in the container's directory and size.

In step 470, a notification is formulated to be sent to a respectivereceiver of an altered data container. In its simplest form, anotification may be a numerical code, or a set of numerical codes, toaccompany an altered data container. A notification may, however, beproduced in one of comprehensible forms such as a clear text, anintelligible voice message, or an image. A notification may also combinetwo or more comprehensible forms.

In step 480, the container conditioner 140 may produce a notification,in any of the above forms or any combination thereof, to be sent to thetransmitter 120. A notification sent to a transmitter may carry furtherinformation to enable the transmitter to correlate the notification witha respective, already transmitted, data container.

A container received at container conditioner 140 and directed tomultiple receivers may be modified for only one receiver and left intactfor the remaining receivers, in which case container conditioner 140 maysend the modified container accompanied by a notification in the form ofa comprehensible text, for example, to the respective addressedreceiver.

Notably, modifying a data container to be compatible with an addressedreceiver is needed for proper reception and processing of the datacontainer. However, an associated comprehensible notification isprovided for the benefit of a human user of the receiver. Thecomprehensible notification may also be sent to the transmitter for thebenefit of a human user of the transmitter.

Frequent notifications related to common causes, such as a containersize exceeding a preset limit, methods of video encoding, and methods ofdata compression, may be sent as numerical codes to be translated intocomprehensive texts (or other comprehensible modes such as clear voicemessages) at a respective receiver.

FIG. 5 illustrates functions of a container conditioner 140 inaccordance with another embodiment. In the process of FIG. 4, a part ofa container's content is modified if found to be incompatible withcorresponding capabilities of an addressed receiver. In the process ofFIG. 5, characteristics of a path to an addressed receiver are alsoconsidered in deciding alterations to a data container.

Steps 410, 420, 430, 432, and 434 in FIG. 5 are identical tolikewise-numbered steps in the process of FIG. 4. In step 520, thecontainer conditioner 140 may acquire network-related data tocharacterize a path, or at least a segment of a path, to an addressedreceiver. A current condition of the path may force a size reduction ofeach container traversing the path to avoid data loss at a node alongthe path (step 530). As in the case of FIG. 4, container-size reductionmay also be dictated by limitations of an addressed receiver.

If step 530 determines that the content size and the content in itsentirety are compatible with the addressed receiver and conforming to acondition of a designated path to the addressed receiver, the datacontainer is transmitted in its original form to a subsequent nodetowards destination and steps 540 to 580 are skipped. Otherwise, step540 is exercised. The conditional transition from step 530 to step 540is not illustrated in FIG. 5.

In step 540, a procedure for judicious selection of content parts to bemodified is exercised. For example, a data container may include a videosignal encoded for high-quality reproduction accompanied by an encryptedtext or an encoded audio signal. To reduce a container size to aspecified value, the procedure has to choose from a number of optionssuch as: deleting the text, deleting the audio content, or decoding andre-encoding the video content using an alternative encoding techniquewhich produces an encoded record of a smaller size. Selection of anoption may be influenced by a predetermined priority classification ofthe content components of a container. Thus, if one of a text or animage is to be sacrificed, the editing engine 240 may base the decisionon a priority classification of the two components.

In step 550, modified content is produced according to a decision madein step 540. Step 550 is similar to step 450 which is detailed in FIG.6. In step 560, a new container is produced to replace the receivedcontainer. In step 570, a notification is formulated to be sent with analtered data container to a respective receiver. In step 580, thecontainer conditioner 140 may produce a notification to be sent to thetransmitter.

The steps of FIG. 4 and FIG. 5 are implemented according to instructionsstored in a computer readable medium, such as a semiconductor-basedintegrated circuit, a flash memory device, a compact disc (CD), or adigital versatile disc (DVD).

Container Editing and Adaptation

A container received at container conditioner 140, and stored in thememory thereon, may be directed to multiple receivers of differentcapabilities, which may result in dissimilar output containers directedto respective receivers. A received container, which is found to includemalicious software or other undesirable data strings is edited first toremove affected content before individually adapting the container, ifnecessary, according to respective destinations.

FIG. 6 details step 450 of FIG. 4 (or step 550 of FIG. 5). A container610 received at the container conditioner 140 is first examined in acontent-screening module 620, which may delete an entire contentcomponent or filter out undesirable insertions, if any. The screenedcontainer 612 is marked to indicate whether any alterations wereperformed. When no modification takes place, the screened container 612is identical to the received container 610 except for an associatedindication of the screening result.

The screened container 612 may then be adapted in content-adaptationmodule 640 to suit each addressed receiver type. Content-adaptationmodule 640 may filter out part of a content component, decode a contentcomponent and re-encode the decoded data to a form compatible with arespective receiver, or delete an entire content component. With Rreceiver types (R≧1), R output containers, 650(1), . . . , 650(R), areproduced and directed to respective receivers. The content of an outputcontainer directed to a specific receiver may be identical to thecontent of received container 610 or may be altered in either or both ofthe content screening module 620 and the content adaptation module 640.In any case, a notification is generated to indicate the condition ofthe container and actions taken, if any.

The combined content-screening module 620 and content-adaptation module640 constitute an editing module. The editing module may be implementedas special purpose circuitry. Preferably, however, the editing module isimplemented as a computing device having stored thereon computerreadable instructions which, when executed, cause the computing deviceto screen content of containers and, where necessary, adapt content ofcontainers to be compatible with characteristics (such as decodingfacilities) of respective receivers. The computer readable instructionsalso cause the computing device to mark containers according to resultsof screening and adaptation.

Data-Container Structure

FIG. 7 illustrates a composite data container 700 comprising a headerpart and a content part. The header part comprises externalidentification data and internal identification data. The content partcomprises multiple sections each section corresponds to a respectiveinformation type and data format. The content of a section constitutes acontent component (often referenced as a “media”).

A variety of container structures may be used. The structure of FIG. 7corresponds to a data container belonging to a data stream for which aconnection has been established. Thus, a single stream identifier 720suffices to replace field 340 for determining an address of a source, anaddress for a destination in a unicast connection, an address of eachdestination in a multicast connection, and relevant routing information.

The content of container 700 may be modified, for any of a variety ofreasons, at a point along the container's path from source todestination. Thus, the container's size may change and some fields inthe header part may also change.

The external identification data relate to a source of the container, atleast one destination of the container, and other relevant networkinformation. The internal identification data may indicate, for eachsection, a position within the content part, a respective informationtype, and any content changes.

Container 700 is modeled after container 300 of FIG. 3. Thedata-container directory 320 includes fields 722, 724, 726, 728, 732,and 734. Container 700 is considered to belong to a data streamidentified by a stream number (reference numeral 720). The network nodesupporting container conditioner 140 stores detailed source-destinationinformation 340, in addition to other descriptors, for each data stream.In an independent container, detailed source-destination informationwould be included in the second part 340 of the container.

A message status field 722 may be used to determine if any contentchanges were made en route to destination. A message-size field 724indicates a total current size of the container. A field 726 includes acurrent number, η, of sections. Each of fields 728(1), 728(2), . . . ,728(η) indicates a current position within the content part of the datacontainer at which a corresponding section starts. Each of fields732(1), 732(2), . . . , 732(η) indicates a current data type in arespective section, and each of fields 734(1), 734(2), . . . , 734(η)indicates changes, if any, made to the content of a respective section.

The message status in field 722 may take any of a predefined number ofvalues. For example, a value of 0 may indicate that the container'scontent is in its original form and no changes took place. A value otherthan 0 may indicate a respective number of changes. Likewise, a sectionstatus in a field 734(j) indicates a number of changes, if any, made inthe content of section j, 1≦j≦η. Message status 722 and a section status634(j), 1≦j≦η, may include an additional indication of severity of amodification.

FIG. 8 illustrates a specific data container 700 which belongs to a datastream identified by an index 1089 (reference numeral 720). The index“1089” would have been assigned in a connection setup process. Field 722indicates that no changes took place in the entire container. The sizeof the container, including the header, is 416 bytes (field 724). Atypical container may have a size of tens of kilobytes; a much smallersize is selected herein for ease of illustration. The content comprises4 sections (field 726), and the sections start at indices 0, 106, 206,and 322 of the content part. The length of each field is predefined and,hence, the number η of sections decides the length of the header part.The value in field 732(j) indicates a type of data in section j, 1≦j≦η.The data types may be predefined and standardized. For example a valueof “0” may indicate plain text, a value of “1” may indicate an encryptedtext according to a first encryption key, a value of “2”, may indicatean encrypted text according to a second encryption key, a value of 5 mayindicate an encoded audio signal, a value of 29 may indicate a videosignal encoded according to a specific compression algorithm, and so on.In the example of FIG. 8, the four section contain data of types 0, 5,2, and 29 respectively, and the each field 734(j), 1≦j≦4, stores a valueof “0”, which is already known because field 722 contains a value of“0”.

FIG. 9 illustrates a case where the content of container of FIG. 8 isaltered. Field 722 has a value of 2, indicating that changes took placein two sections (the value in field 722 does not necessarily indicate anumber of changes). The size of the container, including the header, hasbeen reduced from 416 bytes to 392 bytes. Field 734(1) has a value of 2indicating a respective type of change. The size of the first sectiondecreased from 106 bytes to 94 bytes. Each of fields 734(2) and 734(3)has a value of “0”, hence indicating that no changes took place in thesecond and third sections. However, the data of the second section nowstarts at index 94, instead of 106, within the content part and the dataof the third section now start at index 194, instead of 206, within thecontent part due to the shortening of the first section. Field 734(4)has a value of 7, indicating a respective type of change in the encodedvideo signal, perhaps related to the compression method.

FIG. 10 illustrates a case where the second section of the content ofcontainer of FIG. 8 is deleted (field 728(2) indicates a NULL positionφ) and the fourth content section is shortened due to partial removal ofdata. The indices of the third and fourth section are modifiedaccordingly and the size of the container, including the header, isreduced from 416 units to 287 units.

FIG. 11 provides an overview of exemplary editing operations, wherepipeline units 1102(1), 1102(2), 1102(3), and 1102(4), forming apipeline 1104, perform tasks related to different aspects of containerediting, and identify respective conditions, which may require contentediting. Data relevant to identified conditions are held in buffers1122(1), 1122(2), 1122(3), and 1122(4) to be transferred to a module1180, through a selector 1150 and a buffer 1140. Module 1180 generatesnotifications based on the identified conditions and provides thenotifications to a module 1190 which combines notifications withrespective containers. A module 1170 optionally directs notifications torespective sources (respective transmitters 120). Modules 1170, 1180 and1190 and the units 1102(1), 1102(2), 1102(3), and 1102(4), forming thepipeline 1104 can be implemented as a special purposes circuitry.Alternatively, they may comprise computer readable instructionsinstalled on a computer readable medium and accessible by a computingdevice.

EXAMPLE

An example of content removal is provided next to explain hownotifications may be inserted in a message.

Consider an input message, named input.mms, having the components:

-   -   (1) SMIL presentation    -   (2) compressed photographic image, named “image.jpg”;    -   (3) encoded audio signal, named “audio.aac”, generated according        to the standardized “advanced audio coding” scheme; and    -   (4) audio-video recording, named “audio-video.3gp”, encoded        according to the “3GP format”.

Two main processes need be implemented before transferring the inputmessage to a respective receiving terminal. The first process modifiesthe message, if deemed necessary, to produced a respective outputmessage. The second processes produces appropriate notifications whereneeded and associates the notifications with the modified message.Naturally, the output message would be identical to the input message ifno modifications take place, unless it is desired to add an indicationthat the message has been examined and found to be free of undesirableinsertions and compatible with the receiving terminal.

The first process of modifying the input message “input.mms” to producea corresponding output message, designated as “output.mms”, comprises:

-   -   (a) reading and parsing input.mms;    -   (b) identifying and setting-up any required adaptations for        subsequent execution;    -   (c) executing all required adaptations;    -   (d) determining the expected size of output.mms—if the size        exceeds a specified limit, 100 kilobytes for example, the        component “audio.aac” may be sacrificed and the component        “audio.aac” is associated with a state labeled “removed”, and    -   (e) assembling the output message “output mms”.

Having determined that component audio.aac is to be removed, the secondprocess comprises:

-   -   (i) creating a “removal notification” using a respective        template—the template has a variable that corresponds to the        name of the component being removed;    -   (ii) setting the text entry to a string such as: “Removed media        ‘audio.aac’ from the input message”;    -   (iii) adding the text entry created in (ii) to the removal        notification;    -   (iv) Adding the removal notification to output.mms; and    -   (v) if output.mms includes a presentation, adding a reference to        the “removal notification” in the presentation.

Thus, the assembled output.mms contains:

-   -   (1) adapted image.jpg;    -   (2) adapted audio-video.3gp;    -   (3) entity that represents removal notification; and    -   (4) SMIL presentation

The operation of the system for generating MMS notifications accordingto the embodiment of the invention is explained with the help of FIG.12.

An editing pipeline 1204 executes a set of operations that performrequired content-editing tasks. Pipeline units 1202(1) to 1202(L), L>1,perform pipeline operations in sequence. During any operation, a problemthat requires the generation of a notification may be identified. Afterall the pipeline operations are completed the system executes process1212 which synthesizes and merges notifications.

Identifiers 1208(1), 1208(2), . . . , of content conditions aregenerated and inserted in a buffer 1206. A condition identifier 1208 maycontain multiple key-value pairs. The key-value parameters and acondition type characterize a condition. For example, an editing processmay produce a virus notification with the key-value pairs of the form:

{ key:InputMediaName  value:media.jpg   key:VirusNamevalue:CommWarrior-B   key:VirusScanningEngine  value:Kaspersky}.

The notification indicates which component (“media”) is affected, thetype of malicious software (malware) detected (“commonWorrior-B” in thisexample), and the software tool which detected the malware (product ofKaspersky).

These values (media.jpg, CommonWorrier-B, Kaspersky) are just exemplary.The key-value pairs are substituted in a respective template wherevariables are defined. Any of available data portions within anotification-message attachment may be used. A key in a key-value pairmay indicate a content-component, a cause of content removal, a virusname, or a virus scanning engine. A value in a key-value pair mayindicate a specific content-encoding method, an identifier of a specificvirus, an identifier of a specific engine used to detect and remove avirus, or an indication of a message size and corresponding size limit.

After all the pipeline operations in pipeline units 1202 are completed,the container conditioner 140 formulates and amalgamates notifications(process 1212). The container conditioner 140 uses a template which maybe available on a local repository or retrieved from a remote storagemedium via a network 1214. Process 1212 provides a template identifier(name) 1213 and receives a file 1217 from template repository 1216.Multiple notifications may be combined. For example, notificationsregarding the removal of multiple viruses may be amalgamated into onenotification. Notification records produced in process 1212 are appendedto respective messages in step 1220. An output message containing anumber of components which include a SMIL presentation 1224, contents1226(1), 1226(2), . . . , and notification records 1228(1), 1228(2),etc., are held in a buffer 1222 for subsequent delivery to a respectivereceiver.

Notably, a template source repository 1216 comprises files stored on acomputer memory and accessible by the computing device of the containerconditioner 140 and the editing engine 240. To build a template name, inaccordance with an embodiment of the present invention, a root name ofthe notification type (such as “content-adaptation” or “removal”) may beconcatenated with a language identifier (such as “English”) and acharacter set (such as “US-ascii”), separated by underscore “_” symbols.The filename preferably has an extension “.txt”. The language and thecharacter set are provided by a controller of the editing engine and arebased on system defaults. An example of a template name used for aremoval notification is: “removal_english_us—ascii.txt”.

The pipeline 1204 may be implemented as special purpose circuitry.Preferably, however, the pipeline 1204 is implemented as a computingdevice having stored thereon computer readable instructions which, whenexecuted, cause the computing device to screen content of containersand, where necessary, adapt content of containers to be compatible withcharacteristics (such as decoding facilities) of respective receivers.The computer readable instructions also cause the computing device tomark containers according to results of screening and adaptation.

The buffer 1206 and the output container buffer 1222 are stored in amemory controlled by the computing device.

The processes 1212 and 1220 of building and merging notifications andappending the notifications to messages (containers) are implemented ascomputer readable instructions stored on a computer readable medium,e.g., random access memory, non-volatile memory, CD-ROM, DVD, etc.

FIG. 13 illustrates a number q, q≧1 of virtual queues 1320(1), . . . ,1320(q) each of which corresponding to container conditions of a commontype. A queue 1320(j), 1≦j≦q, contains pointers 1322 to locations ofcontainer-condition identifiers 1208 in buffer 1206. A singlenotification is produced for container conditions of the same conditiontype.

FIG. 14 details process 1212 of FIG. 12, which formulates andamalgamates notifications. The process starts in step 1402 in responseto a request for transcoding. Conditions of the same condition type areconsidered together and reported in a single notification. Thus, step1404 selects one of queues 1320 (FIG. 13) which holds pointers tocondition identifiers 1208, in buffer 1206, corresponding to a set ofconditions of a common condition type. In step 1405, one of theconditions in the set of conditions is selected. Step 1406 constructs atemplate name corresponding to the common condition type. Step 1408 usesthe template name to acquire a respective template from template source1216 which may be collocated with the editing engine 240 or accessiblethrough a network. Step 1410 synthesizes and composes a notificationcorresponding to the common condition type. Step 1440 adds particularsof the remaining conditions in the set of conditions to the composednotification. The resulting notification is then ready to becommunicated to a respective receiver 160.

If buffer 1206 still holds unprocessed condition identifiers 1208 (FIG.12), i.e., if there is at least one virtual queue 1320 (FIG. 13) not yetconsidered, step 1404 is revisited to select a queue 1320 and steps1405, 1406, 1408, 1410, and 1440 are executed. If step 1418 indicatesthat all identified conditions in buffer 1206 have been considered,process 1212 of FIG. 12 ends (step 1420) to be restarted in response toa new request for transcoding.

FIG. 15 illustrates modification of contents of a container destined totwo receivers 160 of different characteristics. The container has sixcontent components labeled component (1), component (2), . . . ,component (6). As described above, a content component may be encoded asa text, audio data, image, or video data of different formats. Component(1) is of type (1-A), both component (2) and component (3) are of type(2-A), both component (4) and component (5) are of type (3-A), andcomponent (6) is of type (4-A). Types (1-A), (2-A), (3-A), and (4-A) maycorrespond to specific encoding techniques which may be standardized orproprietary. Receiver 1 is devised to decode components of type (1-C),(2-A), (3-A), and (4-E). Type (1-C) is a counterpart of type (1-A), forexample, both relate to image display but with different resolutions.Likewise, type (4-E) is a counterpart of type (4-A). Receiver 2 isdevised to decode components of type (1-A), (2-W), (3-B), and (4-A).Type (2-W) is a counterpart of type (2-A), and type (3-B) is acounterpart of type (3-A).

Before using module 640, FIG. 6, for transcoding component (1) andcomponent (4) to produce a first output container suitable for receiver1, and transcoding component (2), component (3), component (4), andcomponent (5) to produce a second output container suitable for receiver2, module 620, FIG. 6, performs content editing to detect anyundesirable insertions. Component (2) and component (6) were found tocontain a virus known as “Virus X” and component (5) was found tocontain a virus known as “Virus Y”. The editing engine 240 acquires atool for removing Virus X, but is unable to find a tool for removingVirus Y. Thus, the editing engine 240 decides to delete component (5) inits entirety.

The first output container (FIG. 16) includes a translated component (1)from type (1-A) to type (1-C), filtered component (2) where Virus X isremoved, original component (3) and component (4), and a translatedcomponent (6) from type (4-A) to type (4-E) with Virus X removed.Component (5) is deleted.

The second output container (FIG. 16) includes original component (1), atranslated component (2) from type (2-A) to type (2-W) with Virus Xremoved, a translated component (3) from type (2-A) to type (2-W), atranslated component (4) from type (3-A) to type (3-B), and filteredcomponent (6) where Virus X is removed. Component (5) is deleted.

Multiple Container Conditioners

A set of container conditioners 140 may be associated with networkelements in a variety of ways. Two exemplary arrangements wherecontainer conditioners are associated with a switching node areillustrated in FIG. 17 and FIG. 18. Notably, the arrangement of FIG. 17is suitable for a case where container conditioners are collocated witha switching node while in the arrangement of FIG. 18 a containerconditioner may be remotely located with respect to the switching node.Other arrangements for positioning container conditioners within anetwork may be devised.

FIG. 17 illustrates an arrangement where two container conditioners,individually identified as 140(1) and 140(2) are associated with networknode 134 (FIG. 1), considered to comprise input ports 1720 and aswitching fabric 1740. Each input port 1720 has a unidirectional channel1722 to switching fabric 1740. Each input port 1720 of a first set1725(1) of input ports has a dual channel to a selector 1728(1)connecting to container conditioner 140(1). Likewise, each input port1720 of a second set 1725(2) of input ports has a dual channel 1724 to asecond selector 1728(2) connecting to a second container conditioner140(2). Selectors 1728(1) and 1728(2) may include buffers (notillustrated). Each of selectors 1724(1) and 1724(2) time multiplexesincoming multimedia containers received from respective input ports 1720and distributes processed containers back to the input ports. Data unitsreceived at input ports 1720 through input channels 1712 are switchedthrough switching fabric 1740 to output channels 1714 leading to othernetwork nodes. The received data units may include multimedia containerstogether with conventional forms of data traffic. Before switching amultimedia container through the switching fabric 1740, an input port1720 directs the multimedia container to a respective containerconditioner 140. The container conditioner examines the container andmay modify its content to remove harmful insertions or to adapt contentcomponents to decoding facilities of a respective receiver. Thecontainer conditional augments the container by appending a notificationand directs the augmented container to the input port for subsequentswitching through the switching fabric 1740 to an output channel 1714leading to a destination of the container. The number of input ports1720 sharing a container conditioner 140 through a selector 1724 isdetermined by the flow rate (in bits per second) of multimedia-containertraffic received at the network node 134 and the processing speed of thecontainer conditioners 140.

FIG. 18 illustrates an arrangement where two container conditioners140(1) and 140(2) are associated with network node 134, considered tocomprise a switching fabric 1840 and input ports 1820 receiving datathrough input channels 1812. Each of container conditioner 140(1) andcontainer conditioner 140(2) has a dual channel, comprising a channel1841 from switching fabric 1840 a channel 1842, connecting to switchingfabric 1840. Either of container conditioners 140(1) and 140(2) may becollocated with network node 134 or remotely located.

Each input port 1820 has a unidirectional channel 1822 to switchingfabric 1840. Conventional data traffic is switched through switchingfabric to respective output channels 1814. However, a multimediacontainer received at input ports 1820 is first switched throughswitching fabric 1840 to one of the container conditioners 140(1) and140(2) for processing as described above with reference to FIGS. 4-6.The processed containers, augmented with appropriate notifications, areswitched to respective destinations through the switching fabric 1840.In general, an arbitrary number of container conditioners 140 may beassociated with a network node depending on the number of input channels1812, and the total flow rate (in bits per second) of multimediatraffic. A controller (not illustrated) of network node 134 distributesincoming multimedia containers equitably among the containerconditioners 140.

Although specific embodiments of the invention have been described indetail, it should be understood that the described embodiments areintended to be illustrative and not restrictive. Various changes andmodifications of the embodiments shown in the drawings and described inthe specification may be made within the scope of the following claimswithout departing from the scope of the invention in its broader aspect.

1. A method for processing a message having multiple components in amultimedia messaging system, the method comprising: employing at leastone processor for: examining said message to remove any presentmalicious software; identifying an intended receiver of said message;resolving any incompatibility of each component of said message withcharacteristics of said intended receiver; characterizing a condition ofsaid message by at least one key-value pair and a condition typeaccording to a result of said examining and a result of said resolving;formulating an identifier of a notification template according to saidcondition type; retrieving said notification template from a repositoryof notification templates using said identifier; composing anotification using said notification template and said at least onekey-value pair; inserting said notification in said message to producean augmented message; sending said augmented message to said intendedreceiver; and sending said notification to an originator of saidmessage.
 2. The method of claim 1 wherein said examining comprisesdetecting presence of malicious software in an attachment of saidmessage.
 3. The method of claim 1 wherein said resolving comprises stepsof: determining capabilities of said intended receiver; and translatinga content component of said message from a current format to a differentformat compatible with said capabilities.
 4. The method of claim 1wherein a key in said at least one key-value pair indicates one of: acontent-component name; a cause of content removal; a virus name; and avirus scanning engine; and wherein a value in said at least onekey-value pair indicates one of: a specific content-encoding method; anidentifier of a specific virus; an identifier of a specific engine usedto detect and remove a virus; and an indication of a message size andcorresponding size limit.
 5. The method of claim 1 further comprisingmerging said notification with other notifications corresponding to saidcondition type.
 6. The method of claim 5 further comprising sending saidnotification to an originator of said message.
 7. The method of claim 1further comprising sending said at least one key-value pair and saidcondition type to a server associated with said multimedia messagingsystem for statistical analyses.
 8. A method of processing a multimediadata container comprising multiple components, the method comprising:employing at least one processor for: receiving said container; parsingsaid container to determine: an identifier of a transmitter andidentifiers of addressed receivers of said container; and properties ofeach component in said multiple components; screening said eachcomponent to: eliminate harmful insertions; and mark said each componentaccordingly; acquiring characteristics of a selected receiver of saidaddressed receivers; determining a current size of said container:determining a size upper bound, and where said current size exceeds saidsize upper bound, delete one of said content components according to apreset priority order: ascertaining compatibility of said propertieswith said selected receiver; where said properties are incompatible withsaid selected receiver, adapting said each component to suit saidselected receiver; characterizing a condition of said container by atleast one key-value pair: composing a notification specific to said eachreceiver based on said at least one key-value pair: adding saidnotification to said container to produce an augmented container: andsending said augmented container to said selected receiver.
 9. Themethod of claim 8 further comprising sending said notification from saidcontainer conditioner to said transmitter to identify said adapting ofsaid each component for said selected receiver.
 10. The method of claim8 wherein said notification comprises at least one of: a text; an image;an encoded audio signal; and an encoded video signal.
 11. The method ofclaim 8 further comprising: selecting at least one component from amongsaid multiple components to be a candidate for compression to reduce asize of said at least one component.
 12. The method of claim 8 furthercomprising: determining state of a network path from said containerconditioner to said selected receiver; and determining said size upperbound of said augmented container according to: said state of saidnetwork path; and characteristics of said selected receiver.
 13. Anon-transitory computer-readable storage medium having computer readableinstructions stored thereon for execution by a processor to perform thesteps of the method of claim
 8. 14. An editing engine for conditioningmultimedia containers, the editing engine comprising: a computing deviceand a memory device storing computer readable instructions which causethe computing device to: receive a container; parse said container intocontent components; determine encoding formats of said contentcomponents and for a particular encoding format determine one of:accepting said particular encoding format; translating a contentcomponent encoded in said particular encoding format to a new encodingformat for which said first receiver has a corresponding decodingfacility; and deleting a content component encoded in said particularencoding format; examine each content component to detect presence ofmalicious insertions and perform corrections of said content componentswhere malicious insertions are found; identify a first receiver of saidcontainer; acquire characterization of decoding facilities of said firstreceiver; determine compatibility of said encoding formats with saiddecoding facilities; formulate appropriate condition codes of saidcontainer according to said corrections and said compatibility;synthesize a first notification according to said appropriate conditioncodes; determine a current size of said container including said firstnotification; determine a size upper bound dictated by said firstreceiver; where said current size exceeds said size upper bound, deleteone of said content components according to a preset priority order;where said current size does not exceed said size upper bound: insertsaid first notification in said container to produce a first augmentedcontainer; send said first augmented container to said first receiver;and send said first notification to an originator of said container. 15.The editing engine of claim 14 wherein said computer readableinstructions cause said computing device to acquire saidcharacterization of decoding facilities by causing said computer deviceto access a receiver database, said receiver database storinginformation on decoding facilities of each receiver type from among aplurality of receiver types.
 16. The editing engine of claim 14 whereinsaid computer readable instructions further cause said computing deviceto: identify a second receiver of said container; acquirecharacterization of decoding facilities of said second receiver;determine conformity of said encoding formats to said decodingfacilities of said second receiver; formulate specific condition codesof said container according to said corrections and said conformity; andsynthesize a second notification according to said specific conditioncodes.
 17. The editing engine of claim 14 wherein said computer readableinstructions further cause said computing device to send said firstnotification to a service-analysis facility for service planningpurposes.
 18. An editing engine for conditioning multimedia containers,the editing engine comprising: computer readable instructions stored ona non-transitory computer-readable storage medium, which when executedby a computing device, cause the computing device to: receive acontainer; parse said container into content components; determineencoding formats of said content components; examine each contentcomponent to detect presence of malicious insertions and performcorrections of said content components where malicious insertions arefound; identify a first receiver of said container; acquirecharacterization of decoding facilities of said first receiver;determine compatibility of said encoding formats with said decodingfacilities; formulate appropriate condition codes of said containeraccording to said corrections and said compatibility; and synthesize afirst notification according to said appropriate condition codes byaccessing a versatile dictionary storing: a comprehensible description,in multiple display formats, of each of a plurality of condition codes;and notification patterns encoded for different forms of display. 19.The editing engine of claim 18 wherein said computer readableinstructions cause said computing device to: determine display formatsprovided by said versatile dictionary; select at least one displayformat compatible with said decoding facilities of said first receiver;and instruct a controller of said versatile dictionary to providedescriptions of said appropriate condition codes in said at least onedisplay format.
 20. A system for conditioning data containers fordelivery to receivers, the system comprising: a container conditionerhaving a dual link to a node in a telecommunication network, thecontainer conditioner comprising a processor and a memory device storingprocessor-executable instructions forming an editing engine organizedinto: a communication module for receiving incoming data containers fromsaid node and transmitting outgoing data containers to said node; ascreening module for inspecting said incoming data containers to detectand remove undesirable insertions and indicate respectivecontainer-content conditions; an adaptation module for: determiningconformity of content components of said data containers to decodingfacilities of respective intended receivers of said data containers;formulating conformity conditions of each content component; andmodifying non-conforming content components to produce conditioned datacontainers; a notification module for: formulating notificationsaccording to said container-content conditions and said conformityconditions; and adding said notifications to respective conditioned datacontainers to produce augmented data containers; wherein saidcommunication module is configured to: direct said augmented datacontainers to said node to be switched to respective receivers throughsaid telecommunication network; and direct said notifications to saidnode to be switched to respective transmitters.
 21. The system of claim20 further comprising: a server computer communicatively coupled to saidcontainer conditioner, said server computer having a receiver databasestored in a non-transitory computer readable storage medium, saidreceiver database storing information pertinent to decoding facilitiesof a plurality of receiver types; and a computing device communicativelycoupled to said container conditioner, said computing device beingconfigured to access a versatile dictionary comprising data stored in amemory device, the versatile dictionary providing encoded comprehensibledisplays corresponding to a predefined set of container-contentconditions and conformity conditions.
 22. The system of claim 21 whereinsaid comprehensible displays comprise: a text; an image; an encodedaudio signal; and an encoded video signal.